package com.silence.springboot.enums;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Objects;

@Getter
@RequiredArgsConstructor
public enum BookStatusEnum {

    /**
     * 在库中
     */
    IN_LIBRARY("0", "在库中"),

    /**
     * 借阅申请中
     */
    BORROWING_APPLICATION("1", "借阅申请中"),

    /**
     * 已借阅
     */
    BORROWED("2", "已借阅"),

    /**
     * 归还申请中
     */
    RETURN_APPLICATION("3", "归还申请中"),

    /**
     * 已归还
     */
    RETURNED("4", "已归还"),

    /**
     * 丢失
     */
    LOST("5", "丢失"),

    /**
     * 废弃
     */
    ABANDONED("6", "废弃");

    /**
     * 状态
     */
    private final String status;

    /**
     * 描述
     */
    private final String description;

    /**
     * 根据状态获取描述。
     *
     * @param status 状态
     * @return 描述
     */
    public static String getDescByCode(String status) {
        for (BookStatusEnum sexEnum : BookStatusEnum.values()) {
            if (Objects.equals(sexEnum.getStatus(), status)) {
                return sexEnum.getDescription();
            }
        }
        return "未知";
    }
}
